import { openWindow, loopTree, getPathOfTree, catchApiError, GetUrlParam } from './originalUtil';
import { getParams, devScroll, getPageData, comdify, initHeight, getHeight } from './Util';
import { convertImgUrlToBase64, getRandomString, judgeBrowserType, strByteLen, strByteSlice, throttleOfPart } from './2019_12_20Revise';
import getFileIcon from './fileType';
import { nameRule_compatible } from './namingRules';
import { onDelegate, offDelegate } from './EventDelegation';

// import DocFileDownload from './downloadFile';


window.openFullWindowHaveBar = openWindow;
window.openFullWindowForXtable = openWindow;

export {
   openWindow,
   loopTree,
   getPathOfTree,
   catchApiError,
   GetUrlParam,
};

export {
   getParams,
   devScroll,
   getPageData,
   comdify,
   initHeight,
   getHeight,
};

export {
   getFileIcon,
   nameRule_compatible,
   onDelegate,
   offDelegate,
   convertImgUrlToBase64,
   judgeBrowserType,
   getRandomString,
   throttleOfPart,
   strByteLen,
   strByteSlice,
   // DocFileDownload,
};

// 报表x轴数据处理（限制长度/换行）
export const formatter = (params) => {
  if (params.indexOf('/')) {
 var newParamsName = ''; 
}// 最终拼接成的字符串
  let paramsNameNumber = params.length;// 实际标签的个数
  let provideNumber = 8;// 每行能显示的字的个数
  let rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 换行的话，需要显示几行，向上取整
  /**
   * 判断标签的个数是否大于规定的个数， 如果大于，则进行换行处理 如果不大于，即等于或小于，就返回原标签
   */
  // 条件等同于rowNumber>1
  if (paramsNameNumber > provideNumber) {
    /** 循环每一行,p表示行 */
    for (let p = 0; p < rowNumber; p++) {
      let tempStr = '';// 表示每一次截取的字符串
      let start = p * provideNumber;// 开始截取的位置
      let end = start + provideNumber;// 结束截取的位置
      // 此处特殊处理最后一行的索引值
      if (p == rowNumber - 1) {
        // 最后一次不换行
        tempStr = params.substring(start, paramsNameNumber);
      } else {
        // 每一次拼接字符串并换行
        tempStr = `${params.substring(start, end)}\n`;
      }
      newParamsName += tempStr;// 最终拼成的字符串
    }
  } else {
    // 将旧标签的值赋给新标签
    newParamsName = params;
  }
  // 将最终的字符串返回
  return newParamsName;
};
